﻿
using System;

namespace Behavioral
{
    public interface IAssertionFluent
    {
        IAssertionFluent And<TAssertion>(params object[] constructorParameters)
            where TAssertion : IAssertion;
    }

    public interface IAssertionFluent<TTarget>
    {
        IAssertionFluent<TTarget> And<TAssertion>(params object[] constructorParameters)
            where TAssertion : IAssertion<TTarget>;
    }

    public interface IAssertionFluent<TTarget, TReturnType>
    {
        IAssertionFluent<TTarget, TReturnType> And<TAssertion>(params object[] constructorParameters)
            where TAssertion : IAssertion<TTarget, TReturnType>;
    }
}
